from time import sleep

from itsdangerous import TimedJSONWebSignatureSerializer as Serializer

# 对user_id加密 返回
from meiduo import settings


def generate_verify_token(user_id):
    # serializer = Serializer(秘钥, 有效期秒)
    serializer = Serializer(settings.SECRET_KEY, 3600 * 24 * 2)
    # serializer.dumps(数据), 返回bytes类型
    token = serializer.dumps({'user_id': user_id})
    token = token.decode()

    return token


def check_verify_token(token):
    # serializer = Serializer(秘钥, 有效期秒)
    serializer = Serializer(settings.SECRET_KEY, 3600 * 24 * 2)
    # serializer.dumps(数据), 返回bytes类型
    try:
        user_id_dict = serializer.loads(token)

        user_id = user_id_dict.get("user_id")
        return user_id
    except:
        print("签名过期")
        return None


if __name__ == '__main__':
    token = generate_verify_token(123)
    print(token)

    user_id = check_verify_token(token)

    print(user_id)
